package edu.utn.tacs.grupouno.rest.api;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;

import edu.utn.tacs.grupouno.negocio.AnalisisTipo;
import edu.utn.tacs.grupouno.negocio.Estudio;

public interface AnalisisTipoService {
	
	@GET
	@Path("/{id}")
	@Produces("application/xml")
	public AnalisisTipo getAnalisisTipo(@PathParam("id") String id);
	
	@PUT
	@Path("/{id}")
	@Consumes("application/xml")
	public void putAnalisisTipo(@PathParam("id") String id, AnalisisTipo analisisTipo);
	
	@POST
	@Path("")
	@Consumes("application/xml")
	public void postAnalisisTipo(AnalisisTipo analisisTipo);
	
	@DELETE
	@Path("/{id}")
	public void deleteAnalisisTipo(@PathParam("id") String id);
	
	
	@GET
	@Path("/{id}/estudios")
	@Produces("application/xml")
	public List<Estudio> getEstudios(@PathParam("id") String id);
	
	@PUT
	@Path("/{id}/estudios")
	@Consumes("application/xml")
	public void putEstudios(@PathParam("id") String id, List<Estudio> estudios);
	
	@POST
	@Path("/{id}/estudios")
	@Consumes("application/xml")
	public void postEstudio(@PathParam("id") String id, Estudio estudio);
	
	@DELETE
	@Path("/{id}/estudios")
	public void deleteEstudios(@PathParam("id") String id);
	
	@DELETE
	@Path("/{idAnalisisTipo}/estudios/{idEstudio}")
	public void deleteEstudio(@PathParam("idAnalisisTipo") String idAnalisisTipo, @PathParam("idEstudio") String idEstudio);
	

}
